<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>달력 스크립트</title>
<script type="text/javascript"  src="../jquery-1.7.2.min.js"></script>
<script type="text/javascript">
	document.oncontextmenu=new Function('return false'); //우클릭방지
	document.ondragstart=new Function('return false'); //드래그방지
	document.onselectstart=new Function('return false'); //선택방지
	
	var monthName = new Array("1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월");
    var monthDays = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
	//Date 생성
    var now = new Date();
    //현재날짜
    var nowd = now.getDate();
    //월
    var nowm = now.getMonth();
    //년
    var nowy = now.getFullYear();
     
    function showCalendar(day,month,year){
		//윤달 계산 4년마다 29일로 지정
		if ((year%4==0||year%100==0)&&(year%400==0)){
			monthDays[1]=29;
		}else{
			monthDays[1]=28;
		}
		var firstDay=new Date(year,month,1).getDay();
		//년, 월, 이전 달, 다음 달
		var calStr="<table id='cal' border=0 cellpadding=5 cellspacing=1 align=center bgcolor=#CCCCCC>";
		calStr+="<tr bgcolor=white><td colspan=7>";
		calStr+="<table border=0 cellpadding=0 cellspacing=0 align=center width=100%>";
		calStr+="<td><font size='2'><a href='javascript:;' onClick='nowm--; if (nowm<0) { nowy--; nowm=11; } showCalendar(nowd,nowm,nowy)' title='이전 월'> <<</a></font></td>";
		calStr+="<td align=center><font size='2'>"+year+"년"+ "&nbsp&nbsp&nbsp" +monthName[month].toUpperCase()+"</font></td>";
		calStr+="<td align=right><font size='2'><a href='javascript:;'  onClick='nowm++; if (nowm>11) { nowy++; nowm=0; } showCalendar(nowd,nowm,nowy)' title='다음 월'> >></a></font></td>";
		calStr+="</tr></table>";
		calStr+="</td></tr>";
		//월, 화, 수, 목, 금, 토, 일
		calStr+="<tr align=center bgcolor='#336666' style='cursor:pointer;'>";
		calStr+="<th><font color='#CC3229' size='2'>일</font></th>";
		calStr+="<th><font color='white' size='2'>월</font></th>";
		calStr+="<th><font color='white' size='2'>화</font></th>";
		calStr+="<th><font color='white' size='2'>수</font></th>";
		calStr+="<th><font color='white' size='2'>목</font></th>";
		calStr+="<th><font color='white' size='2'>금</font></th>";
		calStr+="<th><font color='#3299CC' size='2'>토</font></th>";
		calStr+="</tr>";
		var dayCount=1;
		//주간 색상 지정
		calStr+="<tr id='week' bgcolor=white>";
		//firstDay앞에 공백 td넣기
		for (var i=0;i<firstDay;i++){
			calStr+="<td>";//공백
		}
		
		var now = new Date();
		var nowd = now.getDate();
		var nowm = now.getMonth();
		var nowy = now.getFullYear();
		
		for (var i=0;i<monthDays[month];i++) {
			//일요일, 토요일, 평일 색상 지정을 위한 변수
	  		var index = firstDay+i;
			
	  		if(dayCount==nowd && month==nowm && year==nowy) {
	  			calStr+="<td id='today' align=center bgcolor='#99CC32'><font size='3' color='black'><b>"; // 오늘 날짜일때 배경색 지정,글자 진하게
			} else if(year < nowy){ //작년 이라면
				calStr+="<td align=center><font size='3' color='gray'>";
			} else if(year > nowy){//내년 이라면
				//시작 날짜가 % 7==0 이면 빨간색
				if(index % 7 == 0){
					calStr += "<td align=center><font color = '#CC3229' size = 3>";
				} else if(index % 7 == 6){
					calStr += "<td align=center><font color = '#3299CC' size = 3>";
				} else {
					calStr += "<td align=center><font color = 'black' size = 3>";
				} 
				//calStr+="<td align=center><font size='3' color='black'>"
			} else if(month<nowm && year==nowy){ //같은 년
				calStr+="<td align=center><font size='3' color='gray'>";
			} else if(dayCount<nowd && month==nowm){ //같은 달
				calStr+="<td align=center><font size='3' color='gray'>";
			} else {
				//오늘 날짜가 아닐 때 색상 지정
				if(index % 7 == 0){
					calStr += "<td align=center><font color = '#CC3229' size = 3>";
				} else if(index % 7 == 6){
					calStr += "<td align=center><font color = '#3299CC' size = 3>";
				} else {
					calStr += "<td align=center><font color = 'black' size = 3>";
				}
				//calStr+="<td align=center><font size='3' color='black'>"  // 오늘 날짜가 아닐때 배경색 지정
			}
	  			calStr+=dayCount++;   // 날짜
	  			calStr+="</font>";
	  		if(dayCount==nowd) {
	  			calStr+="</b>"; // 오늘 날짜일때 글짜 진하게
	  		} else {
	  			calStr+="";  // 오늘 날짜 아닐 때 글자 진하게 안함
	  		}
	  		calStr+="</font></td>";
	  		
	  		if ((i+firstDay+1)%7==0&&(dayCount<monthDays[month]+1)){
	  			calStr+="<tr bgcolor=white>";
	  		}
	  	}
		
		var totCells=firstDay+monthDays[month];
		//끝나는 다음 날에 공백 td 지정
		for (var i=0; i< (totCells>28?(totCells>35?42:35):28)-totCells; i++){
			calStr+="<td>";
		}
		
		calStr+="</table><BR>";
		calendar.innerHTML=calStr;
		
	    //클릭한 날짜를 창으로 출력 지난 날은 다른 메시지 출력
		$("td:has(font)").not("td:contains('년')").not("td:has(a)").bind("click", function(){
			if(year > nowy){
				alert("지난 날짜를 선택하세요.");
			}else if(year > nowy){ // 클릭 했을 때 현재 년, 월, 일 출력
				alert(year + "년 " + (month+1) + "월 " + $(this).text() + "일");
				opener.document.saleinput.saleDate.value = nowy + "년 " + nowm + "월 " + nowd + "일 ~" + year + "년 " + (month+1) + "월 " + $(this).text() + "일";
				window.close();
			}else if(month<nowm && year==nowy){
				alert(year + "년 " + (month+1) + "월 " + $(this).text() + "일");
			 	opener.document.saleinput.saleDate.value =  year + "- " + (month+1) + "- " + $(this).text();
			 	window.close();
			}else if($(this).text()<nowd && month==nowm){
				alert(year + "년 " + (month+1) + "월 " + $(this).text() + "일");
			 	opener.document.saleinput.saleDate.value =  year + "- " + (month+1) + "- " + $(this).text();
			 	window.close();
			}else{
				alert("지난 날짜를 선택하세요.");
			 }
		})
			//오늘을 제외한 날짜 마우스를 올렸을 때 배경색 바꿈
			$("td:has(font)").not("td:contains('년')").not("td:has(a)").not("#today").hover( function(){
				$(this).css("background", "#32CD99");
				$(this).css("cursor", "pointer");
			}, function(){
				$(this).css("background", "white");
				$(this).css("cursor", "pointer");
			})
			//오늘날짜 마우스 올렸을때 내렸을때
			$("#today").hover(function(){
				$(this).css("background", "#32CD99");
				$(this).css("cursor", "pointer");
			}, function(){
				$(this).css("background", "#99CC32");
				$(this).css("cursor", "pointer");
			});
     	}
	
</script>

</head>
<body>
<center>
<SPAN ID=calendar STYLE="position:relative;"></SPAN>
<script type="text/javascript">
showCalendar(nowd,nowm,nowy);
</script>
<br>
<button onclick="window.close()">닫기</button>
</center>
</body>
</html>